Rotate number-up layout according to orientation when printing
authorMarek Kasik <mkasik@redhat.com>
Tue, 27 Oct 2009 15:53:43 +0000 (16:53 +0100)
committerMarek Kasik <mkasik@redhat.com>
Tue, 27 Oct 2009 15:53:43 +0000 (16:53 +0100)
Number-up layout has to be rotated differently since rotation in
"landscape" and "reversed landscape" mode was changed.

modules/printbackends/cups/gtkprintbackendcups.c

index 7fd39847f18cd17f293d9e41206e1a0c70725113..10947b41bc9d6e17855ce7c29d1fe02451e098d3 100644 (file)
@@ -4319,18 +4319,18 @@ cups_printer_prepare_for_print (GtkPrinter       *printer,
             break;
           case GTK_PAGE_ORIENTATION_LANDSCAPE:
             if (layout < 4)
-              layout = layout + 5 - 2 * (layout % 2);
+              layout = layout + 2 + 4 * (1 - layout / 2);
             else
-              layout = layout - 6 + 4 * (1 - (layout - 4) / 2);
+              layout = layout - 3 - 2 * (layout % 2);
             break;
           case GTK_PAGE_ORIENTATION_REVERSE_PORTRAIT:
             layout = (layout + 3 - 2 * (layout % 2)) % 4 + 4 * (layout / 4);
             break;
           case GTK_PAGE_ORIENTATION_REVERSE_LANDSCAPE:
             if (layout < 4)
-              layout = layout + 2 + 4 * (1 - layout / 2);
+              layout = layout + 5 - 2 * (layout % 2);
             else
-              layout = layout - 3 - 2 * (layout % 2);
+              layout = layout - 6 + 4 * (1 - (layout - 4) / 2);
             break;
         }